package judlawei.acctestes;

import java.util.ArrayList;
import java.util.List;

import judlaw.model.bean.docjud.Cabecalho;
import judlaw.model.bean.docjud.DocumentoJuridico;
import judlaw.model.bean.docjud.Ementa;
import judlaw.model.bean.docjud.Encerramento;
import judlaw.model.bean.docjud.Parte;
import judlaw.model.bean.docjud.Relatorio;
import judlaw.model.bean.docjud.Voto;
import judlawei.dbmanager.DocJudDB;
import easyaccept.script.test.TestFacade;

public class FachadaJudlawEI extends TestFacade {

    DocJudDB manager = new DocJudDB();
    Cabecalho cabec;
    DocumentoJuridico docJurid;
    Ementa ement;
    Encerramento encerrament;
    Parte asPartes;
    Relatorio relato;
    Voto osVotos;
    List<Parte> listaDasPartes;
    List<Voto> listaDosVotos;

    public Cabecalho criarCab(String tribunal, String tipo, int numero,
            String local, String codRegistro,String relator) {
        
        cabec = new Cabecalho(tribunal, tipo, numero, local, codRegistro, relator);
        return cabec;
    }
    
    public Ementa criarEmen(String texto){
        ement = new Ementa(texto);
        return ement;
        
    }
    
    public Encerramento criarEnc(String acordao, String decisao, String orgaoJulgador){
        encerrament = new Encerramento(acordao, decisao, orgaoJulgador);
        return encerrament;
    }
    
   
    public List<Parte> criarListaParte(String titulo, String nome){
        listaDasPartes = new ArrayList<Parte>();
        listaDasPartes.add(new Parte(titulo,nome));
        return listaDasPartes;
    }
    
    public Relatorio criarRelat(String texto){
        relato = new Relatorio(texto);
        return relato;
        
    }
    
    public void criarVoto(String texto) {
        osVotos = new Voto(texto);
        
    }
    
    public List<Voto> criarListaVoto(Voto votos1){
        listaDosVotos = new ArrayList<Voto>();
        listaDosVotos.add(votos1);
        return listaDosVotos;
    }
    
    public DocumentoJuridico criarDocJud(String identificadorUnico,
            String dataPublicacao){
        
        docJurid = new DocumentoJuridico(cabec, ement, relato, listaDosVotos, encerrament, listaDasPartes, identificadorUnico, dataPublicacao);
        return docJurid; 
    }
    
    
    
    
    public void insereDocJuridico() {
        manager.insereDocJuridico(docJurid);
    }
    
    public String getDocJud(String id){
        return manager.getDocJud(id).getDataJulgamento();
    }
    
    public String getEncerramentoByDocId(String id){
        return manager.getEncerramentoByDocId(id).getOrgaoJulgador();
    }
    
    public String getEmentaByDocId(String id) {
        return manager.getEmentaByDocId(id).getTexto();
    }
    
    
    public String getRelatoriosByDocId(String id) {
        return manager.getRelatoriosByDocId(id).getTexto();
    }
    
    public boolean removeDocumentoById(String idUnico) {
        return manager.removeDocumentoById(idUnico);
    }
    
    public void removeDocJuds(){
        manager.removeDocJuds();
    }

}
